home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1999 March / EnigmA AMIGA RUN 35 (1999)(G.R. Edizioni)(IT)[!][issue 1999-03].iso / earcd / devel / libx11 / include / x11 / xp / table.h < prev    next >
C/C++ Source or Header  |  1999-01-01  |  4KB  |  160 lines

  1. #ifndef _XpTable_h
  2. #define _XpTable_h
  3. #include <X11/Xp/COPY>
  4.  
  5. /*
  6.  * SCCS_data:    @(#) Table.h    1.4 92/04/07 16:11:43
  7.  *
  8.  * XpTable - Forms-based composite widget/geometry manager
  9.  *
  10.  * Original Author:
  11.  *    David Harrison
  12.  *    University of California, Berkeley
  13.  *    1989
  14.  *
  15.  * Re-Implementation:
  16.  *    David E. Smyth        David.Smyth@SniAp.MchP.SNI.De
  17.  *    1992
  18.  *
  19.  * This file contains the XpTable public declarations.
  20.  */
  21.  
  22.  
  23. /*
  24.  * XpTable Widget Parameters
  25.  *
  26.  * Name            Class        RepType        Default Value
  27.  *
  28.  * layout        Layout        XpTableLoc    NULL
  29.  * defaultOptions    DefaultOptions    XpTableOpts    NULL
  30.  * forceShrink        ForceShrink    Boolean        True
  31.  * shrinkSimple        ShrinkSimple    Boolean        True
  32.  * marginWidth        Margins        int        0
  33.  * marginHeight        Margins        int        0
  34.  * columnSpacing    Spacing        int        0
  35.  * rowSpacing        Spacing        int        0
  36.  *
  37.  * Inheritace Heirarchy (therefore see man pages for these widget types
  38.  * for additional resources):
  39.  * Core, Composite, XpTable.
  40.  */
  41.  
  42. #define XtNlayout        "layout"
  43. #define XtNdefaultOptions    "defaultOptions"
  44. #define XtNshrinkSimple        "shrinkSimple"
  45. #define XtNforceShrink        "forceShrink"
  46. #define XtNmarginWidth        "marginWidth"
  47. #define XtNmarginHeight        "marginHeight"
  48. #define XtNcolumnSpacing        "columnSpacing"
  49. #define XtNrowSpacing           "rowSpacing"
  50.  
  51. #define XtCLayout        "Layout"
  52. #define XtCDefaultOptions    "DefaultOptions"
  53. #define XtCForceShrink        "ForceShrink"
  54. #define XtCShrinkSimple        "ShrinkSimple"
  55. #define XtCMargins        "Margins"
  56. #define XtCSpacing        "Spacing"
  57.  
  58. #define XtRXpTableLoc        "XpTableLoc"
  59. #define XtRXpTableOpts        "XpTableOpts"
  60.  
  61. /*
  62.  * Option masks
  63.  */
  64. #define TBL_LEFT    (1<<0)
  65. #define TBL_RIGHT    (1<<1)
  66. #define TBL_TOP        (1<<2)
  67. #define TBL_BOTTOM    (1<<3)
  68. #define TBL_SM_WIDTH    (1<<4)
  69. #define TBL_SM_HEIGHT    (1<<5)    
  70. #define TBL_LK_WIDTH    (1<<6)
  71. #define TBL_LK_HEIGHT    (1<<7)
  72.  
  73. #define TBL_DEF_OPT    -1
  74.  
  75. typedef int XpTableOpts;
  76.  
  77. /*
  78.  * Opaque class and instance records
  79.  */
  80.  
  81. typedef struct _XpTableLoc    *XpTableLoc;
  82. typedef struct _XpTableClassRec    *XpTableWidgetClass;
  83. typedef struct _XpTableRec    *XpTableWidget;
  84.  
  85. extern WidgetClass xpTableWidgetClass;
  86.  
  87. #define XpIsTable(w) XtIsSubclass(w,xpTableWidgetClass)
  88.  
  89. /******************************************************************************
  90. ** Macros for ANSI and K&R Function Decls
  91. ******************************************************************************/
  92.  
  93. #ifndef NeedFunctionPrototypes
  94. #if defined(FUNCPROTO) || defined(__STDC__) || defined(__cplusplus) || defined(c
  95. _plusplus)
  96. #define NeedFunctionPrototypes 1
  97. #else
  98. #define NeedFunctionPrototypes 0
  99. #endif /* __STDC__ */
  100. #endif /* NeedFunctionPrototypes */
  101.  
  102. #ifndef _
  103. /* Macro for ANSI or K&R external declarations.  Declare them like this:
  104. **
  105. **      int foo _(( int, MapAg ));
  106. **
  107. ** DO NOT forget whitespace before the '_' !!
  108. */
  109. #if NeedFunctionPrototypes
  110. #define _(a) a          /* ANSI results in: int foo ( int, MapAg );    */
  111. #else
  112. #define _(a) ()         /* K&R  results in: int foo ();            */
  113. #endif
  114. #endif
  115.  
  116. /******************************************************************************
  117. ** XpTable Public Functions
  118. ******************************************************************************/
  119.  
  120. extern XpTableLoc XpTableLocParse _((    char*        /*layout*/    ));
  121. extern void       XpTableLocFree  _((    XpTableLoc    /*to_free*/    ));
  122.  
  123. extern void XpTableChildPosition _((    Widget        /*child*/,
  124.                     int        /*col*/,
  125.                     int        /*row*/        ));
  126.  
  127. extern void XpTableChildResize    _((    Widget        /*child*/,
  128.                     int        /*col_span*/,
  129.                     int        /*row_span*/    ));
  130.  
  131. extern XpTableOpts XpTableOptsParse _(( char*    /*opt_string*/    ));
  132.  
  133. extern void XpTableChildOptions _((    Widget        /*child*/,
  134.                     XpTableOpts    /*opts*/    ));
  135.  
  136. extern void XpTableChildConfig    _((    Widget        /*child*/,
  137.                     int        /*col*/,
  138.                     int        /*row*/,
  139.                     int        /*col_span*/,
  140.                     int        /*row_span*/,
  141.                     XpTableOpts    /*opts*/    ));
  142.  
  143. extern Widget XpCreateTable    _((    Widget        /*parent*/,
  144.                     char*        /*name*/,
  145.                     ArgList        /*args*/,
  146.                     Cardinal    /*numArgs*/    ));
  147.  
  148. extern Widget XpCreateTableDialog _((    Widget        /*parent*/,
  149.                     char*        /*name*/,
  150.                     ArgList        /*args*/,
  151.                     Cardinal    /*numArgs*/    ));
  152.  
  153. extern Widget XpCreateTableTransient _(( Widget    /*parent*/,
  154.                     char*        /*name*/,
  155.                     ArgList        /*args*/,
  156.                     Cardinal    /*numArgs*/    ));
  157.  
  158. #endif /* _XpTable_h */
  159.  
  160.